package com.example.copa_america.dao;


import java.util.ArrayList;

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;

import com.example.copa_america.model.Fixture;

public class ParserFixtures extends DefaultHandler{

	
	private static ArrayList<Fixture> arrayfixtures;
	private Fixture fixtures;
	private StringBuffer buffer = new StringBuffer();
	
	public ParserFixtures() {
	}
	
	public static ArrayList<Fixture> getArrayfixtures() {
		return arrayfixtures;
	}

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) {
		buffer.setLength(0);
		if (localName.equals("Partidos")) {
			// Comienza el XML, se instancia el array de sedes.
			arrayfixtures = new ArrayList<Fixture>();
		} else if (localName.equals("Partido")) {
			// Comienzan las etiquetas correspondientes a una sede, se instancia
			// una sede.
			fixtures = new Fixture();
			arrayfixtures.add(fixtures);
		}
	}

	@Override
	public void endElement(String namespaceURI, String localName, String qName) {

		if (localName.equals("Nombre")) {
			// fin etiqueta Nombre, guardas el id...
			this.fixtures.setNombre(buffer.toString());
		} else if (localName.equals("Fecha")) {
			// din de etiqueta fecha, guardas el nombre...
			this.fixtures.setFecha(buffer.toString());
		} else if (localName.equals("Hora")) {
			// fin de etiqueta Hora, guardas la region...
			this.fixtures.setHora(buffer.toString());
		} else if (localName.equals("Estadio")) {
			// fin de etiqueta Estadio, guardas el estadio...
			this.fixtures.setEstadio(buffer.toString());
		} else if (localName.equals("Ciudad")) {
			// fin de etiqueta Ciudad, guardas la capacidad...
			this.fixtures.setCiudad(buffer.toString());
		
		}
		
	}

	@Override
	public void characters(char[] ch, int start, int length) {
		buffer.append(ch, start, length);
	}
}
